package com.yunwaikeji.gy_tool_library.utils.notification;

import android.app.Notification;
import android.content.Context;
import android.os.Build;

import androidx.annotation.RequiresApi;

import com.yunwaikeji.gy_tool_library.R;
import com.yunwaikeji.gy_tool_library.utils.GYAppUtils;
import com.yunwaikeji.gy_tool_library.utils.display.GYDisplayUtils;


public class GYNotificationBuilder extends Notification.Builder {
    @RequiresApi(api = Build.VERSION_CODES.O)
    public GYNotificationBuilder(Context context, String channelId) {
        super(context, channelId);
        init(context);
    }

    public GYNotificationBuilder(Context context) {
        super(context);
        init(context);
    }

    private void init(Context context) {
        this
//                .setContentTitle(GYAppUtils.getInfo(context).getName())
//                .setContentText("正在下载 " + name)
//                .setSubText("下载")//设置内容下面一小行的文字
//                .setTicker("正在下载")//设置收到通知时在顶部显示的文字信息
                .setWhen(System.currentTimeMillis())//设置通知时间，一般设置的是收到通知时的System.currentTimeMillis()
                .setSmallIcon(R.drawable.load_1)//设置右下角的小图标，在接收到通知的时候顶部也会显示这个小图标
                .setLargeIcon(GYDisplayUtils.toBitmap(GYAppUtils.getInfo(context).getIcon()))//设置左边的大图标
                .setAutoCancel(true)//用户点击Notification点击面板后是否让通知取消(默认不取消)
//                .setDefaults(Notification.DEFAULT_SOUND)//向通知添加声音、闪灯和振动效果
//                .setVibrate(new long[] {0,300,500,700})//设置振动方式
//                .setLights()//设置三色灯，参数依次是：灯光颜色， 亮持续时间，暗的时间
//                .setSound(Uri)//设置接收到通知时的铃声，可以用系统的，也可以自己设置
//                .setContentIntent(pendingIntent)//
                .setOngoing(true);//设置为ture，表示它为一个正在进行的通知
//                .setPriority()//设置优先级：MAX HIGH DEFAULT LOW MIN
//                .setProgress(0, 0, true);//设置带进度条的通知
    }
}
